<?php
// 读取某个文件里的内容
// 然后展示出来

require __DIR__ . '/../bootstrap.php';

// 判断是否登录
if (!is_login()) {
    show_msg_exit('请等录', './login.php');
}

// 支持以文本形式打开的 mime 类型
$canRead = [
    'text/plain',
    'text/html',
    'text/js',
    'text/json',
    'text/x-php',
    'inode/x-empty',
];

// 必需要传递file参数，否则触发错误
if (empty($_GET['file']) || !is_file($_GET['file'])) {
    trigger_error('用户没有传递参数或传递了错误的参数', E_USER_ERROR);
}

$file = $_GET['file'];

$mime = mime_content_type($file);

if (!in_array($mime, $canRead)) {
    trigger_error("不支持打开`$mime`类型", E_USER_ERROR);
}

// 判断有没有读权限
if (!is_readable($file)) {
    trigger_error("没有读权限：`$file`", E_USER_ERROR);
}

// 读取文件内容

$contents = @file_get_contents($file);

?><!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>内容详情</title>
</head>
<body>
    <?php require __DIR__ . '/../logout.html' ?>

    <div>
        <p><?= $file ?></p>
    </div>
    <form action="./save-file.php" method="POST">
        <input type="hidden" name="file" value="<?= $file ?>">
        <textarea name="contents" cols="100" rows="30"><?= $contents ?></textarea>
        <div><input type="submit" value="提交"></div>
    </form>
</body>
</html>